Method and device for position detection

ABSTRACT

The method and device for position detection are disclosed. Corresponding to a first touch related sensing information, a second touch related sensing information is acquired for determining at least one position. Each position is used separately for determining the position of a centroid according to the first touch related sensing information or the second touch related sensing information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 61/298,252, filed on Jan. 26, 2010, Provisional Application No. 61/298,243, filed on Jan. 26, 2010 and U.S. Provisional Application No. 61/250,051, filed on Oct. 9, 2009, which is herein incorporated by reference for all intents and purposes.

CROSS-REFERENCE TO COMPUTER PROGRAM LISTING APPENDIX

Appendix A contains the following file in one CD-ROM in IBM-PC format and compatible with Microsoft Windows (of which two identical copies are attached hereto). Appendix A is a part of the present disclosure and is incorporated by reference herein hi its entirety.

Volume Serial Number is B0C8-2BF5

Directory of E:\

Nov. 9, 2010, 1:52 pm 32,768 Appendix.txt

1 File(s) 32,768 bytes

0 Dir(s) 0 bytes free

The files of Appendix A form source code of computer programs for implementing an illustrative embodiment of the present invention.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the patent and trademark office patent files or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and device for determining positions, and more particularly, to a method and device for determining positions using centroid calculations.

2. Description of the Prior Art

Touch displays have been widely used in the various electronic devices. One approach is to employ a touch sensitive panel to define a 2-D touch area on the touch display, where sensing information is obtained by scanning along horizontal and vertical axes of the touch panel for determining the touch or proximity of an external object (e.g. a finger) on or near the touch panel. U.S. Pat. No. 4,639,720 discloses a capacitive touch display.

Sensing information can be converted into a plurality of continuous signal values by an analog-to-digital converter (ADC). By comparing signal values before and after the touch or approaching of the external object, the location touched or approached by the external object can be determined.

Generally, a controller controlling the touch panel will first obtain sensing information when there is no external object touching or approaching as a baseline. For example, in a capacitive touch panel, each conductive line corresponds to a respective baseline. The controller determines whether there is an external object touching or approaching by comparing sensing information obtained subsequently with the baseline, and further determines the position of the external object. For example, when there is no external object touching or approaching the touch panel, subsequent sensing information with respect to the baseline will be or close to zero. Thus, the controller can determine whether there is an external object touching or approaching by determining whether the sensing information with respect to the baseline is or close to zero.

As shown in FIG. 1A, when an external object 12 (e.g. a finger) touches or approaches a sensing device 120 of a touch display 10, sensing information of sensors 140 on an axis (e.g. x axis) is converted into signal values as shown in FIG. 1B. Corresponding to the appearance of the finger, the signal values show a waveform or finger profile. The location of the peak 14 of the finger profile indicates the position touched or approached by the finger.

However, the surface of the touch display will continuously gives out various noises. These noises vary with time and position and directly or indirectly affect the signal values, causing errors in position detection, or even positive detections at untouched locations. Furthermore, human body carries many noises, which could equally affect the signal values directly or indirectly.

From the above it is clear that prior art still has shortcomings. In order to solve these problems, efforts have long been made in vain, while ordinary products and methods offering no appropriate structures and methods. Thus, there is a need in the industry for a novel technique that solves these problems.

SUMMARY OF THE INVENTION

The present invention provides a method and device for position detection. Corresponding to a first touch related sensing information, a second touch related sensing information is acquired for determining at least one position. Each position is used separately for determining the position of a centroid according to the first touch related sensing information or the second touch related sensing information.

When scanning signals of a plurality of sensors or signals from one sensor at different time points, each signal may contain noise. Thus, each value of the obtained sensing information may also contain noise value. When using accumulation to convert sensing information, noise values are accumulated too. Especially in converted sensing information, the larger the sensing information, the greater the accumulated noise in the values further behind, degrading the signal-to-noise (S/N) ratio. It is even possible for the accumulated noise to be larger than the signal value.

One objective of the present invention is to subtract a base value from all the values in a calculation range during the calculation of a centroid. This base value is related to the value immediately preceding or the first value of the calculation range, thereby reducing the effect of all the previously accumulated noises in the calculation range.

Another objective of the present invention is to determine centroid positions directly from differential sensing information without converting into signal values, so as to obtain equivalent or approximate centroid position. This avoids noise accumulation and increases efficiency by reducing the operations required for converting differences into signal values.

The objectives of the present invention can be achieved by the following technical schemes. A method for position detection proposed by the present invention includes: obtaining a second touch related sensing information corresponding to a first touch related sensing information; and calculating at least one centroid position based on the second touch related sensing information, a value of each centroid position corresponding to a centroid calculation result obtained after subtracting a base value from all values in a first calculation range of the first touch related sensing information. In addition, the present invention further provides a device for position detection includes: a touch sensitive device including a plurality of sensors; and a controller for scanning signals of the sensors and generating a second touch related sensing information corresponding to a first touch related sensing information, and calculating at least one centroid position based on the second touch related sensing information, a value of each centroid position corresponding to a centroid calculation result obtained after subtracting a base value from all values in a first calculation range of the first touch related sensing information.

The objectives of the present invention can be achieved by the following technical schemes. A method for determining centroid positions proposed by the present invention includes: obtaining a first touch related sensing information; obtaining at least one position; determining a corresponding first calculation range in the first touch related sensing information based on each position; determining a corresponding base value based on each first calculation range; generating a set of calculation values by subtracting the corresponding base value from all the values in each first calculation range; and calculating a centroid position based on each set of calculation values. In addition, the present invention further provides a device for determining centroid positions including a controller and a host that performs at least the following operations: obtaining a first touch related sensing information; obtaining at least one position; determining a corresponding first calculation range in the first touch related sensing information based on each position; determining a corresponding base value based on each first calculation range; generating a set of calculation values by subtracting the corresponding base value from all the values in each first calculation range; and calculating a centroid position based on each set of calculation values.

The objectives of the present invention can be achieved by the following technical schemes. A method for determining centroid positions from touch related sensing information proposed by the present invention includes: obtaining a touch related sensing information that includes a plurality of continuous differences; determining at least a position based on the touch related sensing information; determining a calculation range in the touch related sensing information based on each position; and calculating a centroid position based on each calculation range. In addition, the present invention further includes a device for determining centroid positions from touch related sensing information including a controller and a host that performs at least the following operations: obtaining a touch related sensing information that includes a plurality of continuous differences; determining at least a position based on the touch related sensing information; determining a calculation range in the differential touch related sensing information based on each position; and calculating a centroid position based on each calculation range.

By aforementioned technical schemes, the present invention achieves at least the following advantages and benefits:

1. The present invention subtracts a base value from all the values in a calculation range during the calculation of a centroid. This base value is related to the value immediately preceding or the first value of the calculation range, thereby reducing the effect of all the previously accumulated noises in the calculation range.

2. The present invention determines centroid positions directly from differential sensing information without converting into signal values, so as to obtain equivalent or approximate centroid position. This avoids noise accumulation and increases efficiency by reducing the operations required for converting differences into signal values.

3. The present invention determines positions using differential or dual-differential sensing information, which effectively reduces common mode noise, providing a better S/N ratio.

The above description is only an outline of the technical schemes of the present invention. Preferred embodiments of the present invention are provided below in conjunction with the attached drawings to enable one with ordinary skill in the art to better understand said and other objectives, features and advantages of the present invention and to make the present invention accordingly.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be more fully understood by reading the following detailed description of the preferred embodiments, with reference made to the accompanying drawings, wherein:

FIG. 1A is a schematic diagram depicting a prior-art touch sensitive device;

FIG. 1B is a schematic diagram illustrating prior-art signal values;

FIG. 1C is a schematic diagram illustrating differences according to the present invention;

FIGS. 1D and 1E are schematic diagrams illustrating dual differences according to the present invention;

FIG. 1F is a schematic diagram illustrating a sensing device according to the present invention;

FIG. 1G is a block diagram illustrating functions of a computing system according to the present invention;

FIGS. 2A and 2B are schematic diagrams illustrating driving/detecting unit and a sensing device according to the present invention;

FIG. 3A is a block diagram illustrating functions of a detecting unit according to the present invention;

FIGS. 3B to 3D are circuit diagrams illustrating detectors according to the present invention;

FIGS. 3E to 3J are diagrams showing connections between a detecting circuit and an ADC circuit according to the present invention;

FIG. 4A is a diagram illustrating position detection using binary differences according to the present invention;

FIGS. 4B to 4D are diagrams illustrating examples for detecting centroid positions according to the present invention;

FIGS. 5A to 5C are flow charts illustrating position detection according to an embodiment of the present invention;

FIG. 6 is a flow chart illustrating centroid position detection according to another embodiment of the present invention; and

FIG. 7 is a flow chart illustrating centroid position detection based on sensing information according to yet another embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some embodiments of the present invention are described in details below. However, in addition to the descriptions given below, the present invention can be applicable to other embodiments, and the scope of the present invention is not limited by such, rather by the scope of the claims. Moreover, for better understanding and clarity of the description, some components in the drawings may not necessary be drawn to scale, in which some may be exaggerated relative to others, and irrelevant parts are omitted.

Sensing Information

In the present invention, sensing information can be provided by a touch sensitive device for representing 1-D, 2-D or multi-dimensional statuses on the touch sensitive device. The sensing information can be obtained by one or more sensors and converted into a plurality of continuous signal values by one or more Analog-to-Digital converters to represent among or change in amount of detected charges, current, voltage, capacitance, impedance or other electrical characteristics. Sensing information can be obtained or transmitted alternately, sequentially or in parallel, and can be compounded into one or more signals. These are obvious to those having ordinary skill in the art.

One having ordinary skill in the art may also recognize that sensing information described in the present invention includes, but not limited to, a signal of a sensor, a result of the signal of the sensors subtracted by a baseline (e.g. a signal when untouched or initial signals), a digitally converted value of said signal or said result of signal subtracted by baseline or said value converted in any other ways. In other words, sensing information can be in the form of a signal status, a status that is converted from any electrical signal or can be converted into electrical signal recorded in a storage medium (e.g. a register, a memory, a magnetic disk, an optical disk), including but not limited to analog or digital information.

Sensing information can be provided by two 1-D sensing information on different axes. The two 1-D sensing information can be used to represent the sensing information on a first axis (e.g. vertical axis) and a second axis (e.g. horizontal axis) on the touch sensitive device. They are used for position detection on the first and second axes, respectively, i.e. providing 1-D positions on the first and second axes or further constructing a 2-D position. In addition, the two 1-D sensing information can also be used for triangulation based on the distances between sensors to detect a 2-D position on the touch sensitive device.

Sensing information can be 2-D sensing information that consists of a plurality of 1-D sensing information on the same axis. The 2-D sensing information can represent signal distribution on a 2-D plane. For example, a plurality of 1-D sensing information on the vertical axis and a plurality of 1-D sensing information on the horizontal axis can represent a signal matrix, such that position detection can be achieved by watershed algorithm or other image processing methods.

In an example of the present invention, the sensing area on the touch sensitive device includes an overlapping range of a first 2-D detecting range detected by at least one first sensor and a second 2-D detecting range detected by at least one second sensor. One with ordinary skill in the art may also recognize that the sensing area can be an overlapping range of three or more 2-D detecting ranges.

For example, the detecting range of a single sensor can be a 2-D detecting range. A sensor (e.g. CCD or CMOS sensor) with camera-based optical detection or a piezoelectric sensor with surface acoustic wave detection obtains 1-D sensing information in the 2-D detecting range. The 1-D sensing information can be comprised of information sensed at a plurality of continuous time points, which correspond to different angles, positions or ranges. In addition, the 1-D sensing information can be generated according to images obtained (e.g. by CCD-CMOS sensor) within a time interval.

Furthermore, for example, the 2-D sensing range can consist of detecting ranges of a plurality of sensors. For example, the detecting range of each infrared photoreceptor, capacitive or resistive conductive bar or strip, or inductive U-shape coil is a fan or stripe shaped detecting range towards one axis. The detecting ranges of a plurality of sensors arranged on the same axis on a line segment (straight or curved) can form a 2-D detecting range of that axis, which can be a square or fan-shaped planar or arc detecting range, for example.

In a preferred example of the present invention, the sensing area on the touch sensitive device includes a 2-D range detected by a plurality of sensors on the first and second axes. For example, through self-capacitive detection, a driving signal is provided to a plurality of first sensors, and capacitive-coupling signals or changes in said signal in a 2-D detecting range of these first sensors are sensed to obtain first 1-D sensing information. Furthermore, a driving signal is provided to a plurality of second sensors, and capacitive-coupling signals or changes in said signal in a 2-D detecting range of these second sensors are sensed to obtain second 1-D sensing information.

In another example of the present invention, the sensing area on the touch sensitive device involves a plurality of sensors detecting a plurality of 1-D sensing information in a 2-D sensing range to construct 2-D sensing information. For example, when a signal source sequentially applies a driving signal to sensors on a first axis, signal(s) of at least one of sensors in a second axis is sequentially detected or on a plurality of sensors (partially or all) are simultaneously detected to obtain 2-D sensing information on the axis, wherein the sensors are adjacent or not adjacent but neighboring sensors on the second axis. For example, in mutual-capacitive detection or analog matrix resistive detection, a plurality of sensors constitute a plurality of sensing areas for detecting sensing information at each respective area. For example, a plurality of first sensors (e.g. a plurality of first conductive lines) and a plurality of second sensors (e.g. a plurality of second conductive lines) intersect with each other to from a plurality of overlapping regions. When a driving signal is sequentially provided to each of the first sensors, corresponding to the first sensor being driven by the driving signal, signal(s) or changes in signal(s) on at least one of the second sensors on the second axis is sequentially detected or on a plurality of the second sensors (partially or all) on the second axis are simultaneously detected to obtain 1-D sensing information corresponding to that first sensor. By collecting 1-D sensing information corresponding to each of the first sensors together, 2-D sensing information can be constructed. In an example of the present invention, 2-D sensing information can be regarded as an image.

One with ordinary skill in the art can appreciate that the present invention can be applied to touch sensitive display, for example, a display attached with aforementioned resistive, capacitive, surface acoustic wave, or other touch detection device (or referred to as touch sensitive device). Thus, sensing information obtained by the touch sensitive display or device can be regarded as touch sensitive information.

In an example of the present invention, a touch sensitive device may use continuous signals from different time points, that is, composite signal continuously detected by one sensor or simultaneously by a plurality of sensors. For example, the touch sensitive device may be inductive and continuously scan coils thereon to emit electromagnetic waves. Meanwhile, sensing information is detected by one or more sensors on an electromagnetic pen and continuously compounded to form a signal. This signal is then converted into a plurality of continuous signal values by an ADC. Alternatively, electromagnetic waves are emitted by an electromagnetic pen or electromagnetic waves from an inductive touch sensitive device are reflected, and sensing information is obtained by a plurality of sensors (coils) on the touch sensitive device.

Touch Related Sensing Information

When an external object (e.g. a finger) touches or approaches a touch sensitive device, electrical characteristic or changes will be generated by sensing information at an area corresponding to the touch or proximity of the object. The larger the electrical characteristic or changes, the closer it is to the center (e.g. centroid, center of gravity of center of geometry) of the external object. Continuous sensing information can be regarded as constituted by a plurality of continuous values whether it is digital or analog. The center of the external object may correspond between one or two values. In the present invention, a plurality of continuous values can be spatially or temporally continuous.

A first type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous signal values, which can be signal values detected by a plurality of sensors in a time interval, by a single sensor in a continuous time interval or by a single sensor in a single time interval at different detecting locations. In the process of representing sensing information as signal values, signals from respective sensors, time intervals or locations are sequentially converted into signal values, or part or all of sensing information is obtained, thereafter, respective signal values are then analyzed. When an external object touches or draws near to a sensing device, continuous signal values of 1-D sensing information can be those as shown in FIG. 1B. Position touched by the external object corresponds to the peak 14 of the sensing information, wherein peak 14 may reside between two signal values. As described earlier, the present invention does not limit the form of sensing information. Signal values can be another form of the signals of the sensors. For brevity of the description, the present invention below is described in the context of implementations of the signal values. One with ordinary skill in the art may appreciate the implementations of signals from the implementations of signal values.

A second type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous differences, compared to the signal values above, each difference is the difference of a pair of signal values, and the sensing information represented by a plurality of differences can be regarded as differential sensing information. In the present invention, differential sensing information can be obtained directly during sensing, for example, simultaneously or continuously obtaining a plurality of signals, each difference being generated based on a differential signal corresponding to a pair of sensor, time intervals, or locations. The differential sensing information can be generated based on the original sensing information including a plurality of signal values generated previously. As described earlier, the present invention does not limit the form of sensing information. Differences can be another form of the differential signals. For brevity of the description, the present invention below is described in the context of implementations of the differences. One with ordinary skill in the art may appreciate the implementations of differential signals from the implementations of differences.

In an example of the present invention, a difference can be the difference between a pair of adjacent or not adjacent signal values, for example, the difference between a signal value and its immediately preceding signal value, or between a signal value and its following signal value. In another example of the present invention, the difference can be the difference between non-adjacent signal values. When an external object touches or draws close to the touch sensitive device, continuous differences of 1-D sensing information can be those shown in FIG. 1C, wherein the position of the external object corresponds to zero-crossing 15 of the sensing information. Zero-crossing 15 may reside between two signal values. In an example of the present invention, on the touch sensitive device, the location of each difference is the middle of the two corresponding signal values.

A third type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous dual differences, compared to the signal values and differences above, each dual difference can be the sum or difference of the difference for a first pair of signal values and the difference for a second pair of signal values, that is, the sum or difference of the differences of two pairs of signal values. For example, two pairs of signal values include a first signal value, a second signal value, a third signal value, and a fourth signal value. The dual difference for these four signals is (second signal value−first signal value)+(third signal value−fourth signal value), (second signal value−first signal value)−(fourth signal value−third signal value), (first signal value−second signal value)+(fourth signal value−third signal value) or (first signal value−second signal value)−(third signal value−fourth signal value). In addition, sensing information represented by continuous dual differences can be regarded as dual-differential sensing information. In the present invention, a dual difference is not limited to being provided after signal values or differences, but can also be provided through the sum or difference after subtraction of two pairs of signals upon sensing information being provided, providing dual differential signal similar or equivalent to the sum or difference of the differences between two pair of signal values. As described earlier, the present invention does not limit the form of sensing information. Dual differences can be another form of the dual differential signals. For brevity of the description, the present invention below is described in the context of implementations of the dual differences. One with ordinary skill in the art may appreciate the implementations of dual differential signals from the implementations of dual differences.

In an example of the present invention, when the external object touches or approaches the touch sensitive device, two pairs of signal values are constituted by three adjacent or non-adjacent signal values. In an example of the present invention, the differences between the prior two signal values and the latter two signal values are a first difference and a second difference, respectively, and the dual difference is the difference between the first difference and the second difference, wherein the first difference and the second difference both can be the results of the preceding signal value minus the following signal value or the following signal value minus the preceding signal value. In another example of the present invention, the differences between the first two signal values and the last two signal values are a first difference and a second difference, respectively, and the dual difference is the sum of the first difference and the second difference, wherein one of the first difference and the second difference is the result of the preceding signal value minus the following signal value, whereas the other one of the first difference and the second difference is the result of the following signal value minus the preceding signal value. For example, two pairs of signal values include a first signal, a second signal, and a third signal. The dual difference for these three signal values is (second signal value−first signal value)+(second signal value−third signal value), (second signal value−first signal value)−(third signal value−second signal value), (first signal value−second signal value)+(third signal value−second signal value), or (first signal value−second signal value)−(second signal value−third signal value). When two pairs of signal values are constituted by three adjacent signal values, and an external object touches or approaches the touch sensitive device, the continuous dual differences of 1-D sensing information can be those shown in FIG. 1D, wherein the position of the external object corresponds to middle peak 16 of the sensing information. Middle peak 16 may reside between two signal values. When two pairs of signal values are constituted by three non-adjacent signal values, and an external object touches or approaches the touch sensitive device, the continuous dual differences of 1-D sensing information can be those shown in FIG. 1E, wherein the position of the external object corresponds to middle peak 17 of the sensing information. Middle peak 17 may reside between two signal values.

In the present invention, sensing information corresponding to respective sensor, time interval or position can be signals detected by the sensors. When the signals are analog, it can be converted into digital signal values by an ADC. Thus, the above difference can also be the value of the difference between a pair of signals, for example, value converted from a pair of signals subtracted via a differential amplifier. Similarly, the above dual difference can also be the value converted from two pairs of signals subtracted via a differential amplifier and then added (or subtracted) together. One with ordinary skill in the art can appreciate that the difference and dual difference described by the present invention not only include being generated by signals or signal values, but also include temporary states of records (electrical, magnetic or optical records), signals or signal values during hardware or software implementations.

In other words, sensing information can be signals, differential signals (e.g. difference between a pair of signals), dual differential signals (e.g. sum or difference of two pairs of signals) on or between the sensors, and signal values, differences, dual differences (analog-to-digital converted signal values, differences or dual differences) can be another form. Signals and signal values, differential signals and differences, and dual differential signals and dual differences are sensing information represented at different stages. In addition, for brevity of the description, touch related sensing information mentioned herein broadly refers to sensing information corresponding to touch or proximity of an external object, such as original touch related sensing information, differential touch related sensing information and dual-differential touch related sensing information.

One with ordinary skill in the art can appreciate that in the case of differences or dual differences, zero-crossing is between at least one positive value and at least one negative value that is between a pair of positive and negative values. The difference or dual difference that corresponds to the touch or proximity of the external object may be an alternating continuous combination of at least one positive value and at least one negative value, wherein at least one zero value is interposed between the at least one positive value and at least one negative value. In most cases, the difference or dual difference that corresponds to the touch or proximity of the external object is an alternating continuous combination of multiple positive values and multiple negative values, wherein zero-crossings between positive and negative values may be at least a zero value or between two values.

In contrast, touch related signal values include a plurality of continuous non-zero values, or an independent non-zero value not adjacent to other non-zero values. In some cases, an independent non-zero value not adjacent to other non-zero values may be generated by noise, which should be identified and neglected by thresholding or other types of mechanisms.

Since noise could generate zero-crossing similar to the touch or proximity of an external object when large, thus in an example of the present invention, values that fall within a zero-value range will be treated as zero values. Difference or dual difference corresponding to the touch or proximity of an external object is an alternating continuous combination of multiple values above a positive threshold and multiple values below a negative threshold, wherein a zero-crossing between a value above the positive threshold and a value below a negative threshold may be at least one zero value or between two values.

In summary of the above, differential touch related sensing information and dual-differential touch related sensing information are alternating continuous combinations of at least one positive value and at least one negative value including a zero-crossing, wherein the zero-crossing can be at least one zero value or between the positive and negative values. In other words, a plurality of continuous zero values between positive and negative values in the differential touch related sensing information and dual-differential touch related sensing information are treated as zero-crossings, or one of which is treated as a zero-crossing.

In an example of the present invention, touch related sensing information is set to begin with at least a positive or negative value, and from there an alternating continuous combination of at least one positive value and at least one negative value including a zero-crossing is searched, wherein the zero-crossing may be at least one zero value or between positive and negative values. In differential touch related sensing information, alternating combinations of at least one positive value and at least one negative value occur symmetrically, and in dual-differential touch related sensing information, alternating combinations of at least one positive value and at least one negative value do not occur symmetrically. In an example of the present invention, touch related sensing information is continuous non-zero values, e.g. a plurality of continuous non-zero signal values.

The at least one positive value above can be regarded as a positive-value set including at least one positive value. Similarly, the at least one negative value above can be regarded as a negative-value set including at least one negative value. Thus, the above alternating combination can be a combination of two sets: a positive-value set and a negative-value set, or a combination of three or more set with alternating positive-value and negative-value sets. In an example of the present invention, at least one zero value may exist between zero, one, or multiple positive-value and negative-value sets.

System Framework

In order to more clearly illustrate how sensing information of the present invention is generated, the present invention uses a capacitive touch sensitive device as an example, and one with ordinary skill in the art can readily recognize other applications such as in resistive, infrared, surface acoustic wave, or optical touch sensitive devices.

Referring to FIG. 1F, the present invention provides a position detecting device 100. As shown, the device includes a sensing device 120 and a driving/detecting unit 130. Sensing device 120 has a sensing layer. In an example of the present invention, the sensing layer can include a first sensing layer 120A and a second sensing layer 120B. First and second sensing layers 120A and 120B each has a plurality of sensors 140, wherein first sensors 140A of first sensing layer 120A cross upon second sensors 140B of second sensing layer 120B. In another example of the present invention, first and second sensors 140A and 140B are disposed in a co-planar sensing layer. Driving/detecting unit 130 produces sensing information based on signals of sensors 140. In the case of self-capacitive detection, for example, sensors 140 driven are sensed. In the case of mutual-capacitive detection, some of sensors 140 not directly driven by driving/detecting unit 130 are sensed. In addition, sensing device 120 can be disposed on a display 110. An optional shielding layer (not shown) can be interposed between sensing device 120 and display 110.

The position detecting device 100 of the present invention can be applied to a computing system as shown in FIG. 1G, which includes a controller 160 and a host 170. The controller includes driving/detecting unit 130 to operatively couple sensing device 120 (not shown). In addition, controller 160 can include a processor 161 for controlling driving/detecting unit 130 in generating sensing information. Sensing information can be stored in a memory 162 and accessible by processor 161. Moreover, host 170 constitutes the main body of the computing system, mainly includes a central processing unit 171, a storage unit 173 that can be accessed by central processing unit 171, and display 110 for displaying results of operations.

In another example of the present invention, there is a transmission interface between controller 160 and host 170. The controlling unit transmits data to the host via the transmission interface. One with ordinary skill in the art can appreciate that the transmission interface may include, but not limited to, UART, USB, I²C, Bluetooth, Wi-Fi wireless or wired transmission interfaces. In an example of the present invention, data transmitted can be position (e.g. coordinates), identification results (e.g. gesture codes), command, sensing information or other information provided by controller 160.

In an example of the present invention, sensing information can be initial sensing information generated under the control of processor 161, and position analysis is carried out by host 170, such as, position analysis, gesture identification, command identification etc. In another example of the present invention, sensing information can be analyzed by processor 161 first before forwarding determined position, gesture or command etc. to host 170. The present invention does not limit to this example, and one with ordinary skill in the art can readily recognize other interactions between controller 160 and host 170.

Referring to FIG. 2A, in an example of the present invention, driving/detecting unit 130 may include a driving unit 130A and a detecting unit 130B. The plurality of sensors 140 of sensing device 120 are operatively coupled to driving/detecting unit 130 via a plurality of wires. In the example of FIG. 2A, driving unit 130A and detecting unit 130B are operatively coupled to sensors 140A via wires W1 and to sensors 140B via wires W2.

For example, in self-capacitive detection, all sensors 140A are sequentially or simultaneously driven or some of sensors 140A are driven simultaneously in batch by driving unit 130A via wires W1 in a first time period. Sensing information of a first axis (1-D sensing information) is generated via wires W1 by detecting unit 130 based on signals of sensors 140A. Similarly, all sensors 140B are sequentially or simultaneously driven or some of sensors 140A are driven simultaneously in batch by driving unit 130A via wires W2 in a second time period. Sensing information of a second axis (1-D sensing information) is generated via wires W2 by detecting unit 130 based on signals of sensors 140B.

For example, in mutual-capacitive detection, sensors 140B are driven by driving unit 130 via wires W2 in a first time period, and when each sensor 140B is respectively driven, 1-D sensing information corresponding to a first axis of the driven sensors is generated by detecting unit 130B based on signals of sensors 140A via wires W1. These 1-D sensing information on the first axis construct 2-D sensing information (or an image) on the first axis. Similarly, sensors 140A are driven by driving unit 130 via wires W1 in a second time period, and when each sensor 140A is respectively driven, 1-D sensing information corresponding to a second axis of the driven sensors is generated by detecting unit 130B based on signals of sensors 140B via wires W2. These 1-D sensing information on the second axis construct 2-D sensing information (or an image) on the second axis. In addition, driving unit 130A and detecting unit 130B can be synchronized via lines 132 by providing signals. The signals on lines 132 can be provided by said processor 160.

Referring to FIG. 2B, sensor device 120 can also generate 2-D sensing information on only a single axis. In this example, sensors 140B are driven by wires W2, and when each sensor 140B is respectively driven, 1-D sensing information of the driven sensor is generated by detecting unit 130B based on the signals of sensors 140A via wires W1. These 1-D sensing information constitute 2-D sensing information (or an image).

In other words, position detecting device 100 of the present invention is capable of producing 1-D sensing information in 2 axes or 2-D sensing information in 2 axes, producing both 1-D and 2-D sensing information in 2 axes, or producing 2-D sensing information in a single axis. The present invention may include but not limited to said capacitive position detecting device, one with ordinary skill in the art can appreciate other applications, such as in resistive, capacitive, surface acoustic wave, or other touch sensitive device.

Referring to FIG. 3A, detecting unit 130B is operatively coupled to the sensing device via wires (e.g. W1). The operative coupling can be achieved by a switching circuit 310, which can be one or more electrical elements such as multiplexers and/or switches. One with ordinary skill in the art can recognize other use of switching circuits. Signals of sensors 140 can be detected by a detecting circuit 320. When signal output by detecting circuit 320 is analog, it is then passed through ADC circuit 330 to generate sensing information SI. Sensing information SI can be analog or digital. In a preferred example of the present invention, sensing information is digital, but the present invention is not limited to the above example. One with ordinary skill in the art can appreciate that detecting circuit 320 and ADC circuit 330 can be integrated in one or more circuits.

Detecting circuit 320 can be comprised of one or more detectors, each receiving a signal from at least one sensor 140 and generating an output. The detectors can be detectors 340, 350 and 360 shown in FIGS. 3B to 3D.

In an example of the present invention, the detection of the signals of sensors 140 can be achieved by an integrator. One with ordinary skill in the art can appreciate other circuits that measure electrical characteristics (e.g. voltage, current, capacitance, induction etc.), such as an ADC, can be applied to the present invention. An integrator can be implemented by an amplifier Cint, which includes an input (e.g. as shown by integrator 322 of FIG. 3B) or a pair of input (e.g. as shown by integrator 324 of FIGS. 3C and 3D) and an output. Output signal can be used by ADC circuit 330 to generate values of sensing information SI, each of these values can be controlled by a reset signal, such as a reset signal Sreset shown in FIGS. 3B to 3D.

In another example of the present invention, signals of sensors 140 are AC signals that vary with a pair of half cycles. Thus, the detection of the signals of sensors 140 also changes with different half cycles. For example, signals of sensors 140 are detected in the prior half cycle, and inverse signals of sensors 140 are detected in the latter half cycle, or vice versa. Therefore, the detection of the signals of sensors 140 can be controlled by a synchronizing signal Ssync, as shown in FIGS. 3B to 3C. Synchronizing signal Ssync and the signals of sensors 140 are in sync or having the same cycle. For example, synchronizing signal Ssync is used to control one or more switches (e.g. switching circuits 321, 323, 325) to switch between base points P1 and P2, so as to detect the signals of sensor 140 in the prior half cycle, and to detect the inverse signals of sensor 140 in the latter half cycle. In FIG. 3B, the inverse signals are provided by an inverter Cinv.

In yet another example of the present invention, the detection of the signals of sensors 140 is performed in at least a predetermined time interval (or phase) in at least a cycle. Detection can be done in at least an interval in the first half cycle and at least an interval in the second half cycle; or in at least an interval in only the first or second half cycle. In a preferred example of the present invention, at least a preferred time interval in a cycle is scanned as the detection interval, wherein noise interference in this detection interval is smaller than in other intervals. Scanning of the detection interval can be determined by the detection of the signal of at least one sensor in each interval in at least a cycle. Upon determining a detection interval, detection of the signals of sensors is performed only in that detection interval, and this can be controlled by a signal, such as an enable signal Senable in FIGS. 3B to 3D.

The present invention generates the values of sensing information SI based on the signal of at least one sensor 140. In an example of the present invention, sensing information SI consists of a plurality of signal values. As shown in FIG. 3B, an input 311 is operatively coupled to a sensor 140 for detecting a signal and a signal value of sensing information SI is generated through ADC circuit 330. In another example of the present invention, sensing information SI consists of a plurality of differences. As shown in FIG. 3C, a pair of inputs 312 and 313 are operatively coupled to a sensor 140 for detecting a differential signal and a difference (or single difference) of sensing information SI is generated through ADC circuit 330. In yet another example of the present invention, sensing information SI consists of a plurality of dual differences. As shown in FIG. 3D, three inputs 314, 315 and 316 are operatively coupled to a sensor 140 for detecting a dual differential signal and a dual difference of sensing information SI is generated through ADC circuit 330. A dual differential signal is generated from the difference between a pair of differential signals; each differential signal is generated based on signals of a pair of sensors. In other words, a dual differential signal is generated based on signals of a first pair of sensors and a second pair of sensors, wherein the first pair of sensors are the first two sensors in the three sensors, and the second pair of sensors are the latter two sensors in the three sensors; these three sensors can be adjacent or not adjacent.

In a preferred example of the present invention, detecting circuit 320 includes a plurality of detectors, which simultaneously generate all or some values of sensing information SI. As shown in FIGS. 3E to 3J, detecting circuit 320 can comprise of a detector 340, 350 or 360. The output of the detector is then converted into values of sensing information SI by ADC circuit 330.

ADC circuit 330 includes at least one ADC. Each ADC may output values of sensing information SI based on an output of only one detector, as shown in FIGS. 3E, 3G and 3I. Alternatively, an ADC may output values of sensing information SI based on outputs of several detectors in turn, as shown in FIGS. 3F, 3H and 3J. Values of sensing information SI can be generated in parallel or in series. In a preferred example of the present invention, values of sensing information SI are generated in series, which can be achieved by a switching circuit 370, for example, by outputting values of sensing information SI from a plurality of ADCs in turn, as shown in FIGS. 3E, 3G, and 3I, or by providing outputs of a plurality of integrators to a single ADC in turn to generate values of sensing information SI, as shown in FIGS. 3F, 3H and 3J.

Accordingly, in an example of the present invention, sensing information SI having a plurality of signal values are generated based on signals of a plurality of sensors, wherein each signal value is generated based on a signal from a sensor, as shown in FIGS. 3B, 3E and 3F. In another example of the present invention, sensing information SI having a plurality of differences are generated based on signals of a plurality of sensors, wherein each difference is generated based on signals from a pair of sensors, as shown in FIGS. 3C, 3G and 3H. In yet another example of the present invention, sensing information SI having a plurality of dual differences are generated based on signals of a plurality of sensors, wherein each dual difference is generated based on signals from three sensors, as shown in FIGS. 3D, 3I and 3J.

In FIGS. 3E to 3J, wires connecting the detectors may include but not limited to wires W1 and wires W2. Connection between an integrator and a wire can be direct or indirect through a switching circuit, as shown in FIG. 3A. In an example of the present invention, values of sensing information are generated by multiple detections by at least a detector of detecting circuit 320. Detecting circuit 320 selects some of the sensors for detection by using switching circuit 310. In addition, only selected sensors are driven by driving unit 130A, for example, in self-capacitive detection. Moreover, only selected sensors and some sensors adjacent to the selected sensors are driven by driving unit 130A.

In a first example of the present invention, the sensing information can be obtained by a dual-differential circuit, which includes: a first-stage differential circuit, a second-stage differential circuit and a measuring circuit, as shown in FIG. 3D, 3I or 3J.

The first-stage differential circuit includes a pair or a plurality of first subtractors (e.g. differential amplifiers in switching circuits 325). Each of first subtractors generates a first-stage differential signal according to a pair of sensors in these sensors.

In addition, the second-stage differential circuit includes a pair or a plurality of first subtractors (e.g. integrators in integrating circuits 324). Each of first subtractors generates a second-stage differential signal according to a pair of first-stage differential signals in these first-stage differential signals.

Further, the measuring circuit may be an ADC circuit as shown FIG. 3A, a combination of integrator 324 and an ADC circuit as shown in FIG. 3D, or a combination of a plurality of integrator 324, ADC circuits and a switching circuit 370 as shown in FIG. 3I. Moreover, the measuring circuit measures these second-stage differential signal at one or a plurality of time points to generate the sensing information. As shown in FIG. 3D or FIG. 3J, these second-stage differential signals are measured at a plurality of time points, or as shown in FIG. 3I, these second-stage differential signals are measured at a single time point.

In FIGS. 3D, 3I and 3J of the present invention, differential integrators 324 are used for simultaneous subtraction and measurement of signals, wherein the subtraction of signals can further include generating a digital value using an ADC circuit. The drawings and descriptions given above are merely examples of the present invention; the present invention is not limited to these. One with ordinary skill in the art can recognize that signal subtraction and measurement can be performed by different circuits, for example, first by a subtractor then an integrator, which will not be described further in details.

In said dual-differential circuit, each value of the sensing information is generated by one of these second-stage differential signals, and each of the second-stage differential signals is generated by a first differential signal and a second differential signal of a pair of first-stage differential signals, wherein the first differential signal is generated based on a signals of a first sensor and a second sensor of these sensors, and the second differential signal is generated based on a signals of the second sensor and a third sensor of these sensors. In other words, each value of the sensing information corresponds to signals of three sensors in these sensors.

In a second example of the present invention, the sensing information can be obtained by a differential circuit, which includes: one or a plurality of subtractors and a measuring circuit, as shown in FIG. 3C, 3G or 3H. In these subtractors, each subtractor generates a differential signal according to signals of a pair of sensors. The measuring circuit measures these differential signals to generate a differential sensing information, wherein each value of the sensing information is the difference of a pair of values of the differential sensing information.

Further, the measuring circuit may measure these differential signals at one or a plurality of time points to generate the sensing information. As shown in FIG. 3C or FIG. 3H, these differential signals are measured at a plurality of time points, or as shown in FIG. 3G, these differential signals are measured at a single time point.

In FIG. 3C, 3G or 3H of the present invention, the subtractors and a portion of the measuring circuit can be implemented by integrator 324. The drawings and descriptions given above are merely examples of the present invention; the present invention is not limited to these. One with ordinary skill in the art can recognize that signal subtraction and measurement can be performed by different circuits, for example, first by a subtractor then an integrator, which will not be described further in details.

In addition, each value of the sensing information is generated by the difference of a first difference and a second difference of the differential signals, wherein the first difference is generated based on a signals of a first sensor and a second sensor of these sensors, and the second difference is generated based on a signals of the second sensor and a third sensor of these sensors. In other words, each value of the sensing information corresponds to signals of three sensors in these sensors.

In a third example of the present invention, the sensing information can be obtained by a measuring circuit, as shown in FIG. 3B, 3E or 3F. The measuring circuit measures signals of these sensors to generate an initial sensing information. The sensing information is generated according to the initial sensing information, wherein each value of the sensing information is generated from three values of the initial sensing information.

Further, the measuring circuit may measure these signals at one or a plurality of time points to generate the initial sensing information. As shown in FIG. 3B or FIG. 3F, these signals are measured at a plurality of time points, or as shown in FIG. 3E, these signals are measured at a single time point.

Each value of the sensing information is the difference or sum of the first difference and a second difference, wherein the first difference is the difference between two prior values of three values of the initial sensing information, and the second difference is the difference between two latter values of the three values of the initial sensing information. In other words, the three values of the initial sensing information are a first value, a second value and a third value. Each value of the sensing information is (second value−first value)−(third value−second value), (first value−second value)−(second value−third value), (second value−first value)+(second value−third value), or (first value−second value)+(third value−second value). Each value of the initial sensing information is generated according to signals of one of these sensors, that is, each value of the initial sensing information corresponds to signals of three sensors of these sensors.

In an example of the present invention, each touch related sensing information of the sensing information has two zero-crossings, and a position touched or approached by an external object is determined by each touch related sensing information. In another example of the present invention, the touch related sensing information is at the beginning or end portion of the sensing information, an external object only approaches or touches the edges of the active region of the touch-detection device. In this case, there will not be two zero-crossings, and exception handling is required.

Moreover, said time points may include but not limited to via one or more clocks, or portions of one or more clocks.

Furthermore, the obtaining and generation of said sensing information can be implemented by controller 160. Said dual-differential circuit, differential circuit and measuring circuit can also be implemented by the controller 160.

In the present invention, sensors can consist of a plurality of conductive sheets and wires, such as a set of rhombic or square conductive sheets connected together by wires. Structurally, conductive sheets of first sensors 140A and second sensors 140B may be arranged in different or same planes. For example, an insulating or piezoresistive layer can be interposed between first and second sensing layers 120A and 120B, wherein the piezoresistive layer is made from anisotropic conductive gel. Moreover, for example, conductive sheets of first sensors 140A and second sensors 140B are substantially arranged in the same plane, with the wires of first sensors 140A bridging over the wires of second sensors 140B. In addition, pads can be disposed between the wires of first sensors 140A and second sensors 140B. These pads can be made of insulating or piezoresistive materials.

Thus, in an example of the present invention, each sensor is responsible for a sensing range. There are a plurality of sensors, including a plurality of first sensors and a plurality of second sensors. The sensing ranges of these first sensors are parallel to each other, while the sensing ranges of these second sensors are parallel to each other. The parallel sensing ranges of the first and second sensors intersect to form an intersecting matrix. For example, the first and second sensors are two lines of infrared receivers arranged horizontally and vertically for sensing horizontal scanning ranges and vertical scanning ranges, respectively. The horizontal and vertical scanning ranges form an intersecting matrix. The horizontal and vertical scanning ranges are implemented by several lines of intersecting capacitive or resistive sensors.

Conversion of Sensing Information

The signal values, differences and dual differences of the sensing information can be converted into one another. In a first conversion method provided by the present invention, continuous signal values are converted into continuous differences; each difference being the difference between a pair of adjacent or non-adjacent signal values.

In a second conversion method provided by the present invention, continuous signal values are converted into continuous dual differences; each dual difference being the sum or difference between two pairs of signal values.

In a third conversion method provided by the present invention, continuous differences are converted into continuous signal values; each difference is added to all the preceding or following differences to obtain a corresponding signal value, thereby constructing continuous signal values.

In a fourth conversion method provided by the present invention, continuous differences are converted into continuous dual differences; each dual difference is the sum or difference of a pair of adjacent or non-adjacent differences.

In a fifth conversion method provided by the present invention, continuous dual differences are converted into continuous differences; each dual difference is added to all the preceding or following dual differences to obtain a corresponding difference, thereby constructing continuous differences.

In a sixth conversion method provided by the present invention, continuous dual differences are converted into continuous signal values. In an example of the present invention, each dual difference is added to all the preceding dual differences to obtain a corresponding difference, thereby constructing continuous differences, and thereafter each difference subtracts all the following differences to generate a corresponding signal value, thereby constructing continuous signal values. In another example of the present invention, each dual difference subtracts all the preceding dual differences to obtain a corresponding difference, thereby constructing continuous differences, and thereafter each difference is added to all the following differences to generate a corresponding signal value, thereby constructing continuous signal values.

Adding all the preceding or following differences or dual differences to generate a corresponding signal value or difference is performed by forward or backward accumulation.

These conversion methods may include but not limited to the conversion of 1-D sensing information, one with ordinary skill in the art can appreciate that the above conversion methods can be applied to 2-D sensing information or 3-D (or even more dimensional) sensing information. In addition, one with ordinary skill in the art can appreciate that the above conversion methods can be performed by said controller 160 or host 170.

Accordingly, in an example of the present invention, a first form of sensing information (e.g. 1-D or 2-D sensing information) detected is converted into sensing information for position analysis. In another example of the present invention, a first form of sensing information is converted into a second form of sensing information, and then the second form of sensing information is converted into sensing information for position analysis, for example, continuous dual difference is converted to continuous signal values.

One-Dimension Position Analysis

A first type of position analysis provided by the present invention involves analyzing the position of a zero-crossing based on a plurality of differences in sensing information as the corresponding position of an external object. One with ordinary skill in the art can recognize that position analysis may include but not limited to determination of the touch or proximity of an object, that is, determination of a corresponding position of an external object may include but not limited to the touch or proximity of the object.

In an example of the present invention, a pair of neighboring differences including a positive and a negative value is searched, that is, a pair of positive and negative values at both sides of a zero-crossing, and then the position of the zero-crossing in this pair of neighboring differences is then determined, for example, a slope is determined based on this pair of adjacent differences to infer the position of the zero-crossing. In addition, order of the positive and negative values can be used in conjunction for determining the position of the zero-crossing. Said pair of neighboring differences can be directly adjacent to each other, or not adjacent and with at least one zero value between them. In addition, a pair of neighboring differences with a predetermined order of arrangement can be searched for, for example, a pair of neighboring differences with a positive value appearing first and followed by a negative value is searched for.

In another example of the present invention, a threshold is used for determining the starting position of the search. From there, a pair of neighboring differences including a positive and a negative value is searched for, and then the position of a zero-crossing is determined based on the found pair of neighboring differences. One with ordinary skill in the art can appreciate that in the case that sensing information is represented by differences, when sensing information corresponding to the touch or proximity of an external object is above a positive threshold or below a negative threshold, the searching using these threshold values may include but not limited to the determination of the touch or proximity of the external object. In other words, whenever sensing information is above a positive threshold or below a negative threshold, it can be determined that there is a zero-crossing in the sensing information that corresponds to a touch or proximity of an external object.

For example, a threshold generates binary values corresponding to positive differences. For example, a difference smaller than a threshold (e.g. positive threshold) is represented by 0 or false, and a difference larger than the threshold is represented by 1 or true, and the position of a 1 or true in adjacent differences 10 is regarded as the starting position for a backward search of a zero-crossing. Similarly, a difference larger than a threshold (e.g. negative threshold) is represented by 0 or false, and a difference smaller than the threshold is represented by 1 or true, and the position of a 1 or true in adjacent differences 01 is regarded as the starting position for a forward search of a zero-crossing.

For example, Table 1 and FIG. 4B are examples of using threshold for determining touch or proximity of an external object.

TABLE 1 First Binary Second Binary Signal Difference Difference Index Value Difference (T1 = 4) (T2 = −4) 1 0 0 0 0 2 0 0 0 0 3 0 3 0 3 4 3 7 1 0 5 10 −7 0 1 6 3 −3 0 0 7 0 0 0 0 8 0 0 0 0 9 0 2 0 0 10 2 5 1 0 11 7 0 0 0 12 7 −5 0 1 13 2 −2 0 0 14 0 0 0 0 15 0 0 0 0

This example includes signal values or difference of 15 sensors and determination results using a positive threshold T1 (e.g. 4) and a negative threshold T2 (e.g. −4). In the determination results using the positive threshold, the starting positions are the 4th and 10th differences, that is, the position of a 1 in adjacent differences 10. In the diagram with vertical-stripe bar, it is found that there are two instances of touch or proximity of external objects. Similarly, in the determination results using the negative threshold, the starting positions are the 5th and 12th differences, that is, the position of a 1 in adjacent differences 01. In the diagram with horizontal-stripe bar, it is found that there are two instances of touch or proximity of external objects. One with skill the art can appreciate that the number of starting position corresponds to the number of instances of touch or proximity of external objects. The present invention does not limit to only two instances of touch or proximity of external objects, but there can be more.

In another example of the present invention, an interval for a zero-crossing is determined using a first threshold and a second threshold, which may include but not limited to touch or proximity of an external object, and then the position of the zero-crossing is searched within this interval. For example, a first threshold produces binary values of positive differences, for example, a difference smaller than the first threshold is represented by 0 or false, and a difference larger than the first threshold is represented by 1 or true, and the position of a 1 in adjacent differences 10 is regarded as the starting position. In addition, a second threshold produces binary values of negative differences, for example, a difference larger than the second threshold is represented by 0 or false, and a difference smaller than the second threshold is represented by 1 or true, and the position of a 1 in adjacent differences 01 is regarded as the end position. Moreover, the starting and end positions are paired to form intervals for searching zero-crossings. In an example of the present invention, a slope is used to determine the zero-crossing between a starting position (e.g. position of a 1 in 10) and an end position (e.g. position of a 1 in 01). One with ordinary skill in the art can appreciate that the starting and end positions are interchangeable. One with ordinary skill in the art can appreciate that touch related sensing information can be determined by regarding the location of 1 in 01 as the starting position and the location of 1 in 10 as the end position.

Take again the example shown in FIG. 4A and Table 1, after pairing, a first search interval is between the 4th and 5th differences, and a second search interval is between the 10th and 12th differences.

One with ordinary skill in the art can appreciate that positive and negative thresholdings can be performed simultaneously (or in parallel). Interval pairing can be carried out by pairing a determined starting position with an end position that determined immediately afterwards.

In an example of the present invention, thresholds can be generated by sensing information. For example, a threshold value can be determined by multiplying a maximum of the absolute values of all differences by a ratio (e.g. a ratio smaller than one, such as 0.9), or a positive threshold value can be determined by multiplying a maximum of all positive differences by a ratio, or a negative threshold value can be determined by multiplying a minimum of all negative differences by a ratio. In other words, a threshold value can be static or dynamic. Thus, when the absolute value of a threshold is relatively large, it is possible that external object is determined when using the positive thresholding but not in the negative thresholding, or vice versa. A larger threshold value is favorable for noise or ghost points filtering, while a smaller threshold value is favorable for avoiding miss of real touch or for determining approaching of external objects.

From the above, it is clear that, corresponding to the same touch or approaching of an object, regardless of a backward search from a starting position identified using a positive threshold value or a forward search from a starting position identified using a negative threshold value, the same zero-crossing will be searched. Thus, in an example of the present invention, search for a zero-crossing starts from starting positions identified using positive and negative threshold values, and the number of external touch or approaching is determined based on the number of zero-crossings found, and then the positions of the zero-crossings are determined. When the values at both sides of a zero-crossing that corresponds to an external touch or approaching are first positive and then negative, the search for zero-crossing is backward from the starting position when using positive thresholding, whereas the search for zero-crossing is forward from the starting position when using negative thresholding, and vice versa. In addition, an external touch or approaching may not always exhibit starting positions in both positive and negative thresholdings.

A second type of position analysis provided by the present invention involves analyzing the position of centroid (position of center of weight or weighted average position) based on a plurality of signal values or dual differences in sensing information as the corresponding position of an external object.

In an example of the present invention, a threshold value is used to determine the centroid position of signal values or dual differences, as shown in FIGS. 4B and 4D. A threshold can generate binary values corresponding to signal values or dual differences. For example, a signal value or dual difference smaller than a threshold is represented by 0 or false, and a signal value or dual difference larger than the threshold is represented by 1 or true. In this example, a signal value or dual difference represented by 1 or true is used in determining centroid position. One with ordinary skill in the art can appreciate other ways for determining a centroid position of signal values or dual differences using a threshold. For example, a signal value or dual difference represented by 1 or true, as well as a plurality of signal values or dual differences at either side thereof, are used in determining centroid position. As another example, in a continuous series of adjacent signal value or dual difference represented by 1 or true, a number (i) of and a number (j) of signal values or dual differences before and after a signal value or dual difference that is at the center of the series are taken to determine the centroid position.

In another example of the present invention, continuous signal values or dual differences are converted into continuous differences to identify the center signal value or dual difference that corresponds to a zero-crossing, and i and j signal values or dual differences before and after the center signal value or dual difference are used for determining the centroid position.

In another example of the present invention, a zero-crossing is determined by continuous differences, and the continuous differences are converted into continuous signal values or dual differences, and then the center signal value or dual difference that corresponds to the zero-crossing is identified, thereafter, i and j signal values or dual differences before and after the center signal value or dual difference are used for determining the centroid position.

Assuming that using i and j signal values respectively before and after the nth signal value as a centroid calculation range, the centroid position can be determined based on each signal value C_(k) and its position in the centroid calculation range as follows:

$C_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}\;{X_{k}C_{k}}}{\sum\limits_{k = {n - i}}^{n + j}C_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X,Y)).

Assuming the difference between the k−1th signal value and the kth signal value is D_(k), and the kth dual difference is DD_(k)=D_(k−1)−D_(k)=(C_(k)−C_(k−1))−(C_(k+1)−C_(k))=2C_(k)−C_(k−l)+C_(k+1), and assuming using i and j signal values respectively before and after the nth dual difference DD_(n) as a centroid calculation range, the centroid position can be determined based on each dual difference DD_(k), in the centroid calculation range as follows:

${DD}_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}\;{X_{k}{DD}_{k}}}{\sum\limits_{k = {n - i}}^{n + j}{DD}_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X,Y)). One with ordinary skill in the art can similarly appreciate the calculation for centroid position when the kth dual difference is DD_(k)=(C_(k)−C_(k−2))−(C_(k+2)−C_(k))=2C_(k)−C_(k−2)+C_(k+2). This will not be described further.

In another example of the present invention, signal values or dual differences used for determining centroid position is obtained by first subtracting a base value. For example, this base value can be the average of all signal values or dual differences, the average of a plurality of signal values or dual differences at either sides of the signal values or dual differences used for centroid position determination, or the average of a plurality of signal values or dual differences not used for centroid position determination that are adjacent to either sides of the signal values or dual differences used for centroid position determination. One with ordinary skill in the art can recognize other ways of determining the base value. For example, the base value can be determined based on a first ratio of at least one signal value or dual difference at one side and a second ratio of at least one signal value or dual difference at the other side.

Taken the average of the ith signal value C_(n−i) and the jth signal value I_(n+j) respectively before and after the nth signal value as base value

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},$ and using i and j signal values respectively before and after the nth signal value as a centroid calculation range, the centroid position can be determined based on each signal value C_(k) minus the base value C_(base(i,j)) in the centroid calculation range as follows:

$C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}$ ${C_{k} - C_{{base}{({i,j})}}} = {\frac{{2\; C_{k}} - C_{n - i} - C_{n + j}}{2} = {\frac{\left( {C_{k} - C_{n - i}} \right)}{2} + \frac{\left( {C_{k} - C_{n + j}} \right)}{2}}}$ $\begin{matrix} {C_{cnetroid} = \frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( \frac{{2\; C_{k}} - C_{n - i} - C_{n + j}}{2} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{2\; C_{k}} - C_{n - i} - C_{n + j}}{2}}} \\ {= \frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{2\; C_{k}} - C_{n - i} - C_{n + j}} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{2\; C_{k}} - C_{n - i} - C_{n + j}} \right)}} \end{matrix}$

wherein X, can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X,Y)).

A third type of position analysis provided by the present invention involves analyzing the position of centroid (position of center of weight or weighted average position) based on a plurality of differences in sensing information as the corresponding position of an external object.

Assuming the difference between the k−1th signal value C_(k−1) and the kth signal value C_(k) is D_(k).

(C_(k) − C_(n − i)) = D_(n − (i − 1)) + D_(n − (i − 2)) + … + D_(k)(C_(k) − C_(n + j)) = −(D_(k + 1) + D_(k + 2) + … + D_(n + j)) ${C_{k} - C_{{base}{({i,j})}}} = {\frac{{2\; C_{k}} - C_{n - i} + C_{n + j}}{2} = \frac{\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{k}} \right) - \left( {D_{k + 1} + D_{k + 2} + \ldots + D_{n + j}} \right)}{2}}$ ${C_{k} - C_{{base}{({i,j})}}} = \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}}{2}$ $C_{cnetroid} = {\frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\;{X_{s}\left( \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}}{2} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}}{2}} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}$

Accordingly, the centroid position C_(centroid) can be calculated based on the differences between the signal values, wherein the differences in the centroid calculation range are D_(n−(i−1)), D_(n−(i−2)), . . . , D_(k), D_(k+1), . . . , D_(n+j), D_(n+(j+1)). In other words, the centroid position C_(centroid) can be calculated based on the differences in the centroid calculation range.

As an example, assuming 1 signal value before and after the nth signal value are taken for determining the centroid position, differences in the centroid calculation range can be used to calculate it. This is proven as follows:

D_(n − 1) = C_(n − 1) − C_(n − 2) D_(n) = C_(n) − C_(n − 1) D_(n + 1) = C_(n + 1) − C_(n) D_(n + 2) = C_(n + 2) − C_(n + 1) $C_{{base}{({2,2})}} = \frac{C_{n - 2} + C_{n + 2}}{2}$ ${C_{n - 1} - C_{{base}{({2,2})}}} = {\frac{{2\; C_{n - 1}} - C_{n - 2} - C_{n + {j\; 2}}}{2} = \frac{D_{n - 1} - D_{n} - D_{n + 1} - D_{n + 2}}{2}}$ ${C_{n} - C_{{base}{({2,2})}}} = {\frac{{2\; C_{n}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} - D_{n + 1} - D_{n + 2}}{2}}$ ${C_{n + 1} - C_{{base}{({2,2})}}} = {\frac{{2\; C_{n + 1}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} + D_{n + 1} - D_{n + 2}}{2}}$ $C_{centroid} = \frac{\begin{matrix} {{X_{n - 1}\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right)} +} \\ {{X_{n}\left( {C_{n} - C_{{base}{({2,2})}}} \right)} + {X_{n + 1}\left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)}} \end{matrix}}{\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right) + \left( {C_{n} - C_{{base}{({2,2})}}} \right) + \left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)}$ C_(centroid) = (X_(n − 1)(D_(n − 1) − D_(n) − D_(n + 1) − D_(n + 2)) + X_(n)(D_(n − 1) + D_(n) − D_(n + 1) − D_(n + 2)) + X_(n + 1)(D_(n − 1) + D_(n) + D_(n + 1) − D_(n + 2)))/((D_(n − 1) − D_(n) − D_(n + 1) − D_(n + 2)) + (D_(n − 1) + D_(n) − D_(n + 1) − D_(n + 2)) + (D_(n − 1) + D_(n) + D_(n + 1) − D_(n + 2)))

One with ordinary skill in the art can recognize that taking i and j signal values, differences or dual differences respectively before and after the nth signal value as the centroid calculation range can be applied to determine the signal value, difference or dual difference on the centroid position.

From the above description, it can be seen that the present invention performs position detection by analyzing sensing information that may not only include originally obtained signal values, differences, or dual differences, but also signal values, differences, or dual differences converted from originally obtained sensing information. By analyzing 1-D or 2-D sensing information on two difference axes (e.g. X and Y axes) that corresponds to the same object, that is, by performing 1-D or 2-D position analysis on two different axes, the positions (or coordinates) of the object on these two axes can be obtained, thereby a 2-D position (or 2-D coordinates) can be constructed.

One with ordinary skill in the art can appreciate that operations of the above 1-D position analysis can be performed by said controller 160 or host 170.

Two-Dimension Position Analysis

2-D sensing information can be comprised of a plurality of 1-D sensing information, wherein each 1-D sensing information includes sensing information that corresponds to a plurality of first 1-D positions, and each 1-D sensing information corresponds to a second 1-D position. Thus, 2-D position analysis can at least include 1-D position analysis on a plurality of 1-D touch sensitive information, that is, 2-D position analysis can at least include a plurality of 1-D position analysis.

In addition, in a first example of the present invention, a first 1-D centroid position of any external object on each first dimensional sensing information is a 2-D position (e.g. 2-D coordinates (first 1-D centroid position, second 1-D position of the first dimensional sensing information)), and can be used to calculate a 2-D centroid position of the object (or center of geometry), wherein the weight of each 1-D centroid position can be a signal value or dual difference of the external object on the corresponding first dimensional sensing information (e.g. one or average or interpolation of two signal values or dual differences closest to the 1-D centroid position on the first dimensional sensing information), or sum of signal values or dual differences of the external object on the corresponding first dimensional sensing information.

Thus, 2-D position analysis can perform 1-D position analysis on each first dimensional sensing information, and analyze a 2-D centroid position of each external object based on at least one 2-D position that corresponds to each external object.

In addition, in a second example of the present invention, 2-D position analysis may include performing 1-D position analysis on a plurality of 1-D sensing information on a first axis (or a first dimension), respectively, and based on at least one 1-D position corresponding to each external object on the first axis, analyzing a first 1-D centroid position of each external object on the first axis. Similarly, 2-D position analysis may further include performing 1-D position analysis on a plurality of 1-D sensing information on a second axis (or a second dimension), respectively, and based on at least one 1-D position corresponding to each external object on the second axis, analyzing a second 1-D centroid position of each external object on the second axis. By pairing the first 1-D centroid position on the first axis with the second 1-D centroid position on the second axis for each external object, a 2-D position for each external object can be analyzed.

In other words, 2-D position analysis may include performing 1-D position analysis on 2-D sensing information on two different axes (e.g. 2-D sensing information on the first axis and 2-D sensing information on the second axis) to obtain a 2-D position for each external object.

In addition, in a third example of the present invention, 2-D position analysis may include analyzing 1-D centroid position corresponding to each external object from a plurality of 1-D sensing information on a first axis, and based on a 2-D position corresponding to each 1-D sensing information, determining a 2-D position of each 1-D centroid position that corresponds to each external object on the first axis. 2-D position analysis may further include analyzing 1-D centroid position corresponding to each external object from a plurality of 1-D sensing information on a second axis, and based on a 2-D position corresponding to each 1-D sensing information, determining a 2-D position of each 1-D centroid position that corresponds to each external object on the second axis. 2-D position analysis may further include analyzing a 2-D centroid position based on the 2-D positions of all 1-D centroid positions on the first and second axes that correspond to each external object.

One with ordinary skill in the art can appreciate that 2-D sensing information can determine the position of each external object by image processing, for example, using watershed or other image processing techniques. As another example, watershed algorithm can be used to analyze the position of each watershed, and then the centroid position is calculated using sensing information near each watershed position to obtain a more accurate position.

In a fourth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by signal values or dual differences, which construct an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis. Alternatively, a “connected component” algorithm can be used, which analyzes connected portions in an image to determine an image of each external object, and further determines the position or the type of the object, such as a finger, a palm or a pen.

In a fifth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by differences, which are then converted into signal values or dual differences, which in turn construct an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis.

In a sixth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by differences. By performing position analysis on each 1-D sensing information, the position of each zero-crossing, as well as the signal value or dual difference on the position of each zero-crossing can be determined, thereby constructing an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis.

The dual difference of a zero-crossing point can be generated by two directly adjacent differences, for example, a zero-crossing is between the k−1th difference and the kth difference, and the dual difference at this zero-crossing point is DD_(k)=D_(k−1)−D_(k). The signal value of a zero-crossing point can be generated after converting all differences representing the 1-D sensing information into signal values, or generated based on a plurality of differences closest to the zero-crossing. For example, zero-crossing is closest to the nth signal value, and the average of ith signal value C_(n−i) and the jth signal value I_(n+j) before and after the nth signal value is taken as the base value

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},{{{{and}\mspace{14mu} C_{n}} - C_{{base}{({i,j})}}} = \frac{{2\; C_{n}} - C_{n - i} - C_{n + j}}{2}}$ is taken as the signal value, then

${C_{n} - C_{{base}{({i,j})}}} = {\frac{{2\; C_{n}} - C_{n - i} - C_{n + j}}{2} = {\frac{\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{n}} \right) - \left( {D_{n + 1} + D_{n + 2} + \ldots + D_{n + j}} \right)}{2}.}}$

In other words, between the n-(i−1)th difference to the (n+j)th difference, the signal value at zero-crossing can be determined.

In a seventh example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by signal values and dual differences and are then converted to differences. By performing analysis on each 1-D sensing information, the position of each zero-crossing is determined. In conjunction with the signal value or dual difference on each zero-crossing position, an image (or matrix) formed by 2-D sensing information can be constructed. Watershed algorithm or other image processing techniques can be used for position analysis.

In an eighth example of the present invention, when or in the process of obtaining 2-D sensing information on the first axis, 1-D sensing information on the second axis is also obtained. After performing position analysis on the position of the 2-D sensing information on the first axis, the 1-D position or 2-D position of each external object on the first axis can be obtained. In addition, after performing position analysis on the position of the 2-D sensing information on the second axis, the 1-D position of each external object on the second axis can be obtained. The 1-D position on the second axis can be paired up with the 1-D position on the first axis to form a 2-D position, or can be used to replace or correct the position on the second axis in the 2-D position on the first axis.

One with ordinary skill in the art can appreciate that the operations of the above 2-D position analysis can be performed by said controller 160 or host 170. In addition, in an example of the present invention, the 1-D distance or 2-D distance between each 1-D centroid position corresponding to the same touch or approach and at least one other 1-D centroid position corresponding to the same touch or approach is within a threshold. In another example of the present invention, the weight of each 1-D centroid position corresponding to the same touch or approach is greater than a threshold.

In the following description, a touch related sensing information can be a touch related sensing information or one of multiple touch related sensing information in a sensing information. Operations related to touch related sensing information can be applied not only to specific touch related sensing information but also to all touch related sensing information of the present invention.

In addition, for convenient description, in numerous diagrams and descriptions of the present invention, explanations are given in terms of positive values. One with ordinary skill in the art can appreciate that same principles are applicable to sensing information after having swapped its positive and negative values with each other.

According to a first embodiment of the present invention, a method for position analysis is provided. Referring to FIG. 5A, first, as shown in step 510, a second touch related sensing information corresponding to a first touch related sensing information is obtained. For example, a second touch related sensing information has a plurality of continuous differences, corresponding to a first touch related sensing information having a plurality of continuous signal values, wherein the values of the first touch related sensing information may correspond to signals of a plurality of sensors or signals of one sensor at plurality of time points. The first touch related sensing information may also include a plurality of continuous dual differences; each dual difference being the difference between a pair of values of the second touch related sensing information.

Next, as shown in step 520, at least one centroid position is calculated based on the second touch related sensing information, the value of each centroid position corresponds to a centroid calculation result by subtracting a base value from all values in a first calculation range of the first touch related sensing information. The base value can be a value immediately preceding the first calculation range, the first value of the first calculation range, the average of the value immediately preceding and the value immediately following the first calculation range, the average of the first and last value of the first calculation range, or the average of all values of the first calculation range.

In an example of the present invention, said steps 510 and 520 can be performed by said controller 160, and the centroid position is then delivered to host 170, referring to FIG. 1G. In another example of the present invention, sensing information is provided by the controller 160, and the second touch related sensing information is obtained by host 170 based on the sensing information, as shown in step 510, and then the centroid position is calculated, as shown in step 520.

From the above, it is known that when sensing information is provided, it may or may not include touch related sensing information. Thus, detection for touch related sensing information is first performed before carrying out steps 510 and 520.

In an example of the present invention, calculating at least one centroid position from the second touch related sensing information above can also be calculated by the first touch related sensing information, as shown in FIG. 5B. First, as shown in step 521, a second touch related sensing information is converted into a first touch related sensing information, wherein a first value of first touch related sensing information each corresponds to a second value of the second touch related sensing information, and the first value is an accumulation of the second value with all the values before or after the second value. Next, as shown in step 522, at least one position is determined based on the second touch related sensing information. Next, as shown in step 523, a corresponding first calculation range in the first touch related sensing information is determined based on each position. Thereafter, as shown in steps 524 and 525, a corresponding base value is determined based on each first calculation range, and then a set of values are generated by subtracting the corresponding base value from all the values in each first calculation range. Finally, as shown in step 526, a centroid position is calculated based on each set of values.

In another example of the present invention, at least one centroid position is calculated from the second touch related sensing information, as shown in FIG. 5C. First, as shown in step 527, at least one position is determined based on the second touch related sensing information. For example, the position is determined based on at least one zero-crossing of the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values in the second touch related sensing information. Next, in step 528, a corresponding second calculation range in the second touch related sensing information is determined based on each position. For example, the second calculation range includes values taken from i values before and j+1 values after a corresponding position D_(n). Next, in step 529, a centroid position is calculated from each second calculation range. For example, the centroid position

${C_{cnetroid} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}},$ wherein X_(k) is the coordinate of the kth value of the second touch related sensing information. As another example, the centroid position

${C_{cnetroid} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{\frac{X_{k - 1} + X_{k}}{2}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}},{{wherein}\mspace{14mu}\frac{X_{k - 1} + X_{k}}{2}}$ is the kth value of the second touch related sensing information.

When detecting the signals of a plurality of sensors, or signals from one sensor at different time points, each signal may contain noise. Thus, each value of the obtained sensing information may also contain noise value. When using accumulation to convert sensing information, noise values are accumulated too.

By subtracting the base value, the effect of noise accumulation before calculation can be eliminated or reduced, especially for values further behind. In addition, by directly calculating the centroid from differences, noise accumulation can be avoided; operations for converting differences into signal values can also be reduced, thereby increasing efficiency. Other details of the present embodiment have been described in the above description, and will not be further described.

According to the best mode of the present invention, the second embodiment of the present invention provides a method for calculating centroid. Referring to FIG. 6, first, in steps 610 and 620, a first touch related sensing information and at least one position are obtained. The first touch related sensing information can be continuous signal values or dual differences. For example, values of the first touch related sensing information correspond to signals or dual-differential signals of a plurality of sensors, or values of the first touch related sensing information correspond to signals or dual-differential signals of one sensor at a plurality of time points.

It is clear from the above that the first touch related sensing information can be determined from first sensing information obtained from signals of one or more sensors, or determined after converting a second sensing information into a first sensing information, or converted from second touch related sensing information determined from second sensing information. For example, the first touch related sensing information is converted from a second touch related sensing information, and each first value of the first touch related sensing information corresponds to a second value of the second touch related sensing information, wherein the first value is an accumulation of the second value with all values preceding or following the second value.

In addition, position can be determined based on the first touch related sensing information, second touch related sensing information, or a third touch related sensing information converted from the first touch related sensing information. For example, said at least one position is determined based on at least one zero-crossing of the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values of the second touch related sensing information.

Next, in step 630, a corresponding first calculation range in the first touch related sensing information is determined based on each position. For example, in the first touch related sensing information, i values before and j values after the value closest to each position are taken. Thereafter, in step 640, a corresponding base value is determined based on each first calculation range. The base value can be a value immediately preceding the first calculation range, the first value of the first calculation range, the average of the value immediately preceding and the value immediately following the first calculation range, the average of the first and last value of the first calculation range, or the average of all values of the first calculation range. Next, in step 650, a set of values is generated by subtracting the corresponding base value from all the values in each first calculation range. Finally, as shown in step 660, a centroid position is calculated based on each set of values.

In an example of the present invention, said steps 610 to 660 can be performed by said controller 160 or host 170. In addition, the first touch related sensing information can be obtained by detecting from first sensing information obtained by the controller 160 from the touch sensitive device. Alternatively, the first touch related sensing information can be obtained by detecting via controller 160 or host 170 from first sensing information converted from second sensing information obtained by the controller 160 from the touch sensitive device. Alternatively, the first touch related sensing information can be obtained by first detecting via controller 160 or host 170 a second touch related sensing information from second sensing information obtained by the controller 160 from the touch sensitive device, and then converting the second touch related sensing information into the first touch related sensing information via controller 160 or host 170. Other details of the present embodiment have been described in the above description, and will not be further described.

The second embodiment of the present invention provides a method for determining a centroid position based on touch related sensing information. Referring to FIG. 7, first, in step 710, a touch related sensing information is obtained, which includes a plurality of continuous differences. Next, in step 720, at least one position is determined based on the touch related sensing information. Then, in step 730, a calculation range in the touch related sensing information is determined based on each position. Finally, as shown in step 740, a centroid position is calculated for each calculation range.

In an example of the present invention, touch related sensing information has odd number of zero-crossings. Each zero-crossing is between a pair of positive and negative values of the touch related sensing information. Accordingly, the present invention further includes determining the position of at least one zero-crossing, wherein at least one position is determined based on the position of the at least one zero-crossing. For example, at least one position is determined based on a zero-crossing at odd-number position, wherein each position corresponding to a single touch is determined based on the difference closest to the zero-crossing.

As mentioned before, the calculation range may include i differences before and j+1 differences after a position D_(n). In an example of the present invention, a centroid position

${C_{cnetroid} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}},$ wherein X_(k) is the coordinate of the kth value of the touch related sensing information. In another example of the present invention, a centroid position

${C_{cnetroid} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{\frac{X_{k - 1} + X_{k}}{2}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}\; D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}\; D_{s}}} \right)}},{{wherein}\mspace{14mu}\frac{X_{k - 1} + X_{k}}{2}}$ is the coordinate of the kth value of the second touch related sensing information.

In addition, touch related sensing information can be converted from a plurality of continuous dual differences, wherein each dual difference corresponds to the difference between a pair of differences of touch related sensing information. For example, each difference corresponds to one of these dual differences and is the accumulation of this corresponding dual difference with all the values before or after this dual difference.

In an example of the present invention, said steps 710 to 740 can be performed by said controller 160 or host 170. In addition, the touch related sensing information can be obtained by detecting from sensing information obtained by the controller 160 from the touch sensitive device, or detecting by said controller 160 or host 170 from sensing information converted from sensing information obtained by the controller 160 from the touch sensitive device. Alternatively, the touch related sensing information can be obtained by detecting via controller 160 or host 170 from sensing information obtained by the controller 160 from the touch sensitive device, or by converting from touch related sensing information detected via controller 160 or host 170 from sensing information obtained by the controller 160 from the touch sensitive device. Other details of the present embodiment have been described in the above description, and will not be further described.

The above embodiments are only used to illustrate the principles of the present invention, and they should not be construed as to limit the present invention in any way. The above embodiments can be modified by those with ordinary skill in the art without departing from the scope of the present invention as defined in the following appended claims. 

What is claimed is:
 1. A method for determining centroid positions, comprising: obtaining a corresponding baseline by each of a plurality of sensors when there is no touch or proximity of an external object; performing the following steps when there is a touch or proximity of the external object: obtaining a first touch related sensing information by subtracting the corresponding baseline from each value of a sensing information; obtaining at least one position; determining a corresponding first calculation range in the first touch related sensing information based on each position; determining a base value local to a touch or proximity of the external object based on the first calculation range, wherein the base value is the difference between the corresponding baseline and a signal of one sensor touched or approached by the external object or the difference between the corresponding baseline and a dual-differential signal of three sensors touched or approached by the external object; generating a set of calculation values by subtracting the same base value from all the values in the first calculation range; and calculating a centroid position based on the set of calculation values.
 2. The method of claim 1, wherein values of the first touch related sensing information correspond to signals of a plurality of sensors or signals of a single sensor at a plurality of time points.
 3. The method of claim 1, wherein values of the first touch related sensing information correspond to dual-differential signals of a plurality of sensors or dual-differential signals of a single sensor at a plurality of time points.
 4. The method of claim 1, wherein the first touch related sensing information is converted from a second touch related sensing information, and each first value of the first touch related sensing information corresponding to a second value of the second touch related sensing information, wherein the first value is an accumulation of the second value with all the values preceding or following the second value.
 5. The method of claim 4, wherein the at least one position is determined based on at least one zero-crossing in the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values of the second touch related sensing information.
 6. The method of claim 1, wherein the first touch related sensing information is converted from a second touch related sensing information, and each value of the second touch related sensing information being a dual difference, each dual difference being generated based on signals of three sensors from a plurality of sensors or signals of one sensor at three of a plurality of time points.
 7. The method of claim 6, wherein the three sensors are adjacent.
 8. The method of claim 6, wherein the three sensors are non-adjacent.
 9. The method of claim 1, wherein the each position is determined based two zero-crossings in the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values of the second touch related sensing information.
 10. A device for determining centroid positions, comprising a controller and a host, which performs at least the following operations: obtaining a corresponding baseline by each of a plurality of sensors when there is no touch or proximity of an external object; performing the following steps when there is a touch or proximity of the external object: obtaining a first touch related sensing information by subtracting the corresponding baseline from each value of a sensing information; obtaining at least one position; determining a corresponding first calculation range in the first touch related sensing information based on each position; determining a base value local to a touch or proximity of the external object based on the first calculation range, wherein the base value is the difference between the corresponding baseline and a signal of one sensor touched or approached by the external object or the difference between the corresponding baseline and a dual-differential signal of three sensors touched or approached by the external object; generating a set of calculation values by subtracting the same base value from all the values in the first calculation range; and calculating a centroid position based on the set of calculation values.
 11. The device of claim 10, wherein values of the first touch related sensing information correspond to signals of a plurality of sensors or signals of a single sensor at a plurality of time points.
 12. The device of claim 10, wherein values of the first touch related sensing information correspond to dual-differential signals of a plurality of sensors or dual-differential signals of a single sensor at a plurality of time points.
 13. The device of claim 10, wherein the first touch related sensing information is converted from a second touch related sensing information, and each first value of the first touch related sensing information corresponding to a second value of the second touch related sensing information, wherein the first value is an accumulation of the second value with all the values preceding or following the second value.
 14. The device of claim 13, wherein the at least one position is determined based on at least one zero-crossing in the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values of the second touch related sensing information.
 15. The device of claim 10, wherein the first touch related sensing information is converted from a second touch related sensing information, and each value of the second touch related sensing information being a dual difference, each dual difference being generated based on signals of three sensors from a plurality of sensors or signals of one sensor at three of a plurality of time points.
 16. The device of claim 15, wherein the three sensors are adjacent.
 17. The device of claim 15, wherein the three sensors are non-adjacent.
 18. The device of claim 10, wherein the each position is determined based two zero-crossings in the second touch related sensing information, wherein each zero-crossing is between a pair of positive and negative values of the second touch related sensing information. 